package org.example.lanchain.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

/**
 * 知识库文档实体类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("knowledge_document")
public class KnowledgeDocument {

    /**
     * 文档ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 文档名称
     */
    private String name;

    /**
     * 文档类型（TXT、MD、PDF、DOC、DOCX）
     */
    private String type;

    /**
     * 文档大小（字节）
     */
    private Long size;

    /**
     * 文档内容
     */
    private String content;

    /**
     * 文档状态（processing-处理中，processed-已处理，failed-处理失败）
     */
    private String status;

    /**
     * 向量数量
     */
    private Integer vectorCount;

    /**
     * 上传时间
     */
    private LocalDateTime uploadTime;

    /**
     * 处理完成时间
     */
    private LocalDateTime processTime;

    /**
     * 错误信息（如果处理失败）
     */
    private String errorMessage;

    /**
     * 所属知识库ID
     */
    private Long knowledgeBaseId;
} 